package cn.cdu.data.mapper;

import cn.cdu.data.entity.ResourceAnalysis;
import cn.cdu.data.vo.*;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface ResourceAnalysisMapper extends BaseMapper<ResourceAnalysis> {
    
    /**
     * 获取统计数据
     */
    ResourceStatsVO getStats(
        @Param("startDate") String startDate,
        @Param("endDate") String endDate,
        @Param("departmentId") String departmentId,
        @Param("doctorId") String doctorId
    );

    /**
     * 获取预约趋势数据
     */
    List<ResourceTrendVO> getTrend(
        @Param("startDate") String startDate,
        @Param("endDate") String endDate,
        @Param("departmentId") String departmentId,
        @Param("doctorId") String doctorId
    );

    /**
     * 获取预约状态分布
     */
    ResourceStatusVO getStatus(
        @Param("startDate") String startDate,
        @Param("endDate") String endDate,
        @Param("departmentId") String departmentId,
        @Param("doctorId") String doctorId
    );

    /**
     * 获取科室分布数据
     */
    List<ResourceDepartmentVO> getDepartmentDistribution(
        @Param("startDate") String startDate,
        @Param("endDate") String endDate,
        @Param("departmentId") String departmentId,
        @Param("doctorId") String doctorId
    );

    /**
     * 获取科室对比数据
     */
    List<ResourceDepartmentVO> getDepartmentComparison(
        @Param("startDate") String startDate,
        @Param("endDate") String endDate,
        @Param("departmentId") String departmentId,
        @Param("doctorId") String doctorId
    );

    /**
     * 获取科室趋势数据
     */
    List<ResourceDepartmentTrendVO> getDepartmentTrend(
        @Param("startDate") String startDate,
        @Param("endDate") String endDate,
        @Param("departmentId") String departmentId,
        @Param("doctorId") String doctorId
    );
} 